Impact prevention and warning system

ABSTRACT

A method for preventing a collision at a vehicle includes identifying an object within a path of the vehicle. The method further includes estimating a time of a collision between the object and the vehicle based on identifying the object. The method still further includes discharging a substance from one or more exterior locations of the vehicle prior to the estimated time of the collision.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims the benefit of U.S. Provisional PatentApplication No. 63/109,155, filed on Nov. 3, 2020, and titled “IMPACTAVOIDANCE AND WARNING SYSTEM,” the disclosure of which is expresslyincorporated by reference in its entirety.

BACKGROUND Field

Certain aspects of the present disclosure generally relate to impactprevention and, more particularly, to a system and method for preventingan impact with an object and warning about a potential impact.

Background

Autonomous agents (e.g., vehicles, robots, drones, etc.) andsemi-autonomous agents use machine vision for analyzing areas ofinterest in a surrounding environment. Machine vision systems mayprovide a 3D view of the environment that surrounds an autonomous agent.

In operation, autonomous agents may rely on a trained convolutionalneural network (CNN) to identify objects within areas of interest in animage of a surrounding environment. For example, a CNN may be trained toidentify and track objects captured by one or more sensors, such aslight detection and ranging (LIDAR) sensors, sonar sensors,red-green-blue (RGB) cameras, RGB-depth (RGB-D) cameras, and the like.The sensors may be coupled to, or in communication with, a device, suchas the autonomous agent. Object detection applications for autonomousagents may analyze sensor image data for detecting objects (e.g.,pedestrians, cyclists, other cars, etc.) in the surrounding scene fromthe autonomous agent. In some examples, object detection applicationsmay identify an object that may collide with a vehicle. As an example, avehicle traveling in front of an ego vehicle may cause a rock on theroad to travel in the air and then collide with the vehicle. Somesystems may predict that an object is within range of the ego vehicleand generate a warning.

SUMMARY

In one aspect of the present disclosure, a method for preventing acollision at a vehicle includes identifying an object within a path ofthe vehicle. The method further includes estimating a time of acollision between the object and the vehicle based on identifying theobject. The method still further includes discharging a substance fromone or more exterior locations of the vehicle prior to the estimatedtime of the collision.

Another aspect of the present disclosure is directed to an apparatusincluding means for identifying an object within a path of the vehicle.The apparatus further includes means for estimating a time of acollision between the object and the vehicle based on identifying theobject. The apparatus still further includes means for discharging asubstance from one or more exterior locations of the vehicle prior tothe estimated time of the collision.

In another aspect of the present disclosure, a non-transitorycomputer-readable medium with non-transitory program code recordedthereon is disclosed. The program code is executed by a processor andincludes program code to identify an object within a path of thevehicle. The program code further includes program code to estimate atime of a collision between the object and the vehicle based onidentifying the object. The program code still further includes programcode to discharge a substance from one or more exterior locations of thevehicle prior to the estimated time of the collision.

Another aspect of the present disclosure is directed to an apparatus ofa vehicle comprising a processor; a memory coupled with the processor;and instructions stored in the memory and operable, when executed by theprocessor, to cause the apparatus to identify an object within a path ofthe vehicle. Execution of the instructions further cause the apparatusto estimate a time of a collision between the object and the vehiclebased on identifying the object. Execution of the instructions furthercause the apparatus to discharge a substance from one or more exteriorlocations of the vehicle prior to the estimated time of the collision.

In one aspect of the present disclosure, a method for performing anaction based on a user input includes generating a notification thatoverlaps, at least partially, an item displayed on a display unit. Themethod further includes receiving a user input at the notification. Themethod still further includes determining whether the user input wasintended for the notification or the item. The method also includesperforming an action associated with the user input based on determiningwhether the user input was intended for the notification or the item.

In one aspect of the present disclosure, a method for filtering contentincludes generating content to be displayed, to a first user, via adisplay unit. The method further includes identify a second user inproximity to the display unit. The method still further includes filtercontent to be displayed, to the first user, via the display unit basedon identifying the second user.

In one aspect of the present disclosure, a method for filtering contactsincludes receiving, at a UE, a communication. The method furtherincludes determining whether a person that initiated the communicationis associated with a contact on a list of contacts. The method stillfurther includes refraining from generating a notification associatedwith receiving the communication based on the person being associatedwith the contact on the list of contacts.

Aspects generally include a method, apparatus, system, computer programproduct, non-transitory computer-readable medium, user equipment, basestation, wireless communication device, and processing system assubstantially described with reference to and as illustrated by theaccompanying drawings and specification.

This has outlined, rather broadly, the features and technical advantagesof the present disclosure in order that the detailed description thatfollows may be better understood. Additional features and advantages ofthe present disclosure will be described below. It should be appreciatedby those skilled in the art that this present disclosure may be readilyutilized as a basis for modifying or designing other structures forcarrying out the same purposes of the present disclosure. It should alsobe realized by those skilled in the art that such equivalentconstructions do not depart from the teachings of the present disclosureas set forth in the appended claims. The novel features, which arebelieved to be characteristic of the present disclosure, both as to itsorganization and method of operation, together with further objects andadvantages, will be better understood from the following descriptionwhen considered in connection with the accompanying figures. It is to beexpressly understood, however, that each of the figures is provided forthe purpose of illustration and description only and is not intended asa definition of the limits of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, nature, and advantages of the present disclosure willbecome more apparent from the detailed description set forth below whentaken in conjunction with the drawings in which like referencecharacters identify correspondingly throughout.

FIG. 1A illustrate an example of an agent for avoiding a collision withan object and generating a warning of an imminent collision, inaccordance with aspects of the present disclosure.

FIG. 1B is a diagram illustrating a network in which aspects of thepresent disclosure may be practiced.

FIG. 2 is a block diagram conceptually illustrating an example of a basestation in communication with a user equipment (UE) in a wirelesscommunications network, in accordance with various aspects of thepresent disclosure.

FIG. 3A is a block diagram illustrating an example of an objecttraveling toward an ego vehicle, in accordance with aspects of thepresent disclosure

FIG. 3B is a block diagram illustrating an example of an objecttraveling toward an ego vehicle, in accordance with aspects of thepresent disclosure.

FIG. 3C is a block diagram illustrating an example of a collisionprevention process, in accordance with aspects of the presentdisclosure.

FIG. 3D, which is a block diagram illustrating an example of thecollision prevention process, in accordance with aspects of the presentdisclosure

FIG. 4 is a diagram illustrating an example of discharging a substancein one or more directions, in accordance with aspects of the presentdisclosure.

FIG. 5 is a diagram illustrating an example of initiating a collisionprevention system, in accordance with aspects of the present disclosure.

FIG. 6A illustrates an example of an interfaces of a vehicle, inaccordance with aspects of the present disclosure.

FIG. 6B is a diagram illustrating an example of a conventionalnotification system.

FIG. 7 is a diagram illustrating an example of one or more users near adisplay.

FIG. 8 is a timing diagram illustrating an example of filteringcommunications based on a user, in accordance with aspects of thepresent disclosure.

FIG. 9 is a diagram illustrating an example of a hardware implementationfor a control system of a vehicle, in accordance with aspects of thepresent disclosure.

FIG. 10 is a flow diagram illustrating an example process performed, forexample, by a vehicle, in accordance with various aspects of the presentdisclosure.

DETAILED DESCRIPTION

The detailed description set forth below, in connection with theappended drawings, is intended as a description of variousconfigurations and is not intended to represent the only configurationsin which the concepts described herein may be practiced. The detaileddescription includes specific details for the purpose of providing athorough understanding of the various concepts. It will be apparent tothose skilled in the art, however, that these concepts may be practicedwithout these specific details. In some instances, well-known structuresand components are shown in block diagram form in order to avoidobscuring such concepts.

As discussed, autonomous agents may rely on a machine learning model,such as a trained convolutional neural network (CNN), to identifyobjects within areas of interest in an image of a surroundingenvironment. For example, the machine learning model may be trained toidentify and track objects captured by one or more sensors, such aslight detection and ranging (LIDAR) sensors, sonar sensors,red-green-blue (RGB) cameras, RGB-depth (RGB-D) cameras, and the like.The sensors may be coupled to, or in communication with, a device, suchas the autonomous agent. Object detection applications for autonomousagents may analyze sensor image data for detecting objects (e.g.,pedestrians, cyclists, other cars, etc.) in the surrounding scene fromthe autonomous agent. In some examples, object detection applicationsmay identify an object that may collide with a vehicle. As an example, avehicle traveling in front of an ego vehicle may cause a rock on theroad to travel in the air and then collide with the vehicle. Somesystems may predict that an object is within range of the ego vehicleand generate a warning.

Conventional systems may be limited to generating a warning when anobject is within a range of the ego vehicle. Such systems may fail topredict a time of impact with an object moving toward the ego vehicle.Additionally, such systems may also fail to prevent, or attempt toprevent, the collision. Various aspects of the present disclosure aredirected to preventing a collision between a vehicle (e.g., ego vehicle)and an object. Specifically, some aspects are directed to an ego vehicleequipped with an object collision prevention system. In such aspects,the object collision prevent system identifies an object that istraveling toward an ego vehicle. In some examples, the object collisionprevention system may also determine a velocity of the object. Thevelocity may be determined based on a difference between an amount oftime between a first distance of the object from the ego vehicle and asecond distance of the object from the ego vehicle, while alsoaccounting for a velocity of the ego vehicle. The object collisionprevention system may then determine a time of impact of the object tothe vehicle based on a velocity of the object and a velocity of avehicle. Based on determining the time of impact, the object collisionprevention system may initiate protective measures based on the time ofimpact. The protective measures may include discharging a substance fromone or more locations on the vehicle. The substance may be a liquid, agas, or a solid.

In some examples, the object collision prevention system may beassociated with a notification system. In some such examples, thenotification system may filter user inputs based on a perceived intentof the user. In such examples, the notification system may display anotification on a display unit. As an example, the notification may be awarning of an imminent collision or notification that the objectcollision prevention system has been triggered. In some such examples,the user may provide an input on the notification. The input may beprovided to dismiss the notification. Prior to receiving the user input,a new notification may be superimposed on the initial notification. Theuser may not have time to react to the new notification and mayinadvertently provide the input on the new notification. In suchexamples, the notification system may determine whether the user inputwas intended for the initial notification or the new notification. Thenotification system may then initiating an action associated with theinitial notification based on determining the user input was intendedfor the initial notification.

In some examples, an occupant of the ego vehicle may wish to keep thenotifications private from other occupants. In such examples, thenotification system may determine whether a second user is in proximityto a display unit and filter content when the second user is inproximity to the display unit. In some examples, the filtering may bebased on a filter mode. In such examples, a list of first users may beprovided to the notification system. The occupant may then enable afilter mode. Additionally, the notification system may filter the outputof a message or a call from a user if the user is on the list of firstusers.

FIG. 1A illustrate an example of an agent 150, such as an ego vehicle,for avoiding a collision with an object and generating a warning of animminent collision, in accordance with aspects of the presentdisclosure. As shown in FIG. 1A, the agent 150 may be traveling on aroad 180. A first vehicle 104 may be ahead of the agent 150 and a secondvehicle 116 may be adjacent to the agent 150. In this example, the 3Dinference system of the agent 100 is in communication with a 2D camera108, such as a 2D RGB camera, and a LIDAR sensor 106. The 2D camera 108and the LIDAR sensor 106 may be integrated with the agent 150. Othersensors, such as RADAR and/or ultrasound, are also contemplated.Additionally, or alternatively, the agent 100 may include one or moreadditional 2D cameras and/or LIDAR sensors. For example, the additionalsensors may be side facing and/or rear facing sensors. In oneconfiguration, the 2D camera 108 captures a 2D image that includesobjects in the 2D camera's 108 field of view 114. The LIDAR sensor 106may generate one or more output streams 122, 124.

The agent 150 may include one or more wireless communication radios,such as a cellular communication radio. FIG. 1B is a diagramillustrating a network 100 in which aspects of the present disclosuremay be practiced. The network 100 may be a 5G or NR network or someother wireless network, such as an LTE network. The wireless network 100may include a number of BSs 110 (shown as BS 110 a, BS 110 b, BS 110 c,and BS 110 d) and other network entities. A BS is an entity thatcommunicates with user equipment (UEs) and may also be referred to as abase station, an NR BS, a Node B, a gNB, a 5G node B (NB), an accesspoint, a transmit and receive point (TRP), and/or the like. Each BS mayprovide communications coverage for a particular geographic area. In3GPP, the term “cell” can refer to a coverage area of a BS and/or a BSsubsystem serving this coverage area, depending on the context in whichthe term is used.

A BS may provide communications coverage for a macro cell, a pico cell,a femto cell, and/or another type of cell. A macro cell may cover arelatively large geographic area (for example, several kilometers inradius) and may allow unrestricted access by UEs with servicesubscription. A pico cell may cover a relatively small geographic areaand may allow unrestricted access by UEs with service subscription. Afemto cell may cover a relatively small geographic area (for example, ahome) and may allow restricted access by UEs having association with thefemto cell (for example, UEs in a closed subscriber group (CSG)). A BSfor a macro cell may be referred to as a macro BS. A BS for a pico cellmay be referred to as a pico BS. A BS for a femto cell may be referredto as a femto BS or a home BS. In the example shown in FIG. 1, a BS 110a may be a macro BS for a macro cell 102 a, a BS 110 b may be a pico BSfor a pico cell 102 b, and a BS 110 c may be a femto BS for a femto cell102 c. ABS may support one or multiple (for example, three) cells. Theterms “eNB,” “base station,” “NR BS,” “gNB,” “TRP,” “AP,” “node B,” “5GNB,” and “cell” may be used interchangeably.

In some aspects, a cell may not necessarily be stationary, and thegeographic area of the cell may move according to the location of amobile BS. In some aspects, the BSs may be interconnected to one anotherand/or to one or more other BSs or network nodes (not shown) in thewireless network 100 through various types of backhaul interfaces suchas a direct physical connection, a virtual network, and/or the likeusing any suitable transport network.

The wireless network 100 may also include relay stations. A relaystation is an entity that can receive a transmission of data from anupstream station (for example, a BS or a UE) and send a transmission ofthe data to a downstream station (for example, a UE or a BS). A relaystation may also be a UE that can relay transmissions for other UEs. Inthe example shown in FIG. 1, a relay station 110 d may communicate withmacro BS 110 a and a UE 120 d in order to facilitate communicationsbetween the BS 110 a and UE 120 d. A relay station may also be referredto as a relay BS, a relay base station, a relay, and/or the like.

The wireless network 100 may be a heterogeneous network that includesBSs of different types, for example, macro BSs, pico BSs, femto BSs,relay BSs, and/or the like. These different types of BSs may havedifferent transmit power levels, different coverage areas, and differentimpact on interference in the wireless network 100. For example, macroBSs may have a high transmit power level (for example, 5 to 40 Watts)whereas pico BSs, femto BSs, and relay BSs may have lower transmit powerlevels (for example, 0.1 to 2 Watts).

As an example, the BSs 110 (shown as BS 110 a, BS 110 b, BS 110 c, andBS 110 d) and the core network 130 may exchange communications viabackhaul links 132 (for example, S1, etc.). Base stations 110 maycommunicate with one another over other backhaul links (for example, X2,etc.) either directly or indirectly (for example, through core network130).

The core network 130 may be an evolved packet core (EPC), which mayinclude at least one mobility management entity (MME), at least oneserving gateway (S-GW), and at least one packet data network (PDN)gateway (P-GW). The MME may be the control node that processes thesignaling between the UEs 120 and the EPC. All user IP packets may betransferred through the S-GW, which itself may be connected to the P-GW.The P-GW may provide IP address allocation as well as other functions.The P-GW may be connected to the network operator's IP services. Theoperator's IP services may include the Internet, the Intranet, an IPmultimedia subsystem (IMS), and a packet-switched (PS) streamingservice.

The core network 130 may provide user authentication, accessauthorization, tracking, IP connectivity, and other access, routing, ormobility functions. One or more of the base stations 110 or access nodecontrollers (ANCs) may interface with the core network 130 throughbackhaul links 132 (for example, S1, S2, etc.) and may perform radioconfiguration and scheduling for communications with the UEs 120. Insome configurations, various functions of each access network entity orbase station 110 may be distributed across various network devices (forexample, radio heads and access network controllers) or consolidatedinto a single network device (for example, a base station 110).

UEs 120 (for example, 120 a, 120 b, 120 c) may be dispersed throughoutthe wireless network 100, and each UE may be stationary or mobile. A UEmay also be referred to as an access terminal, a terminal, a mobilestation, a subscriber unit, a station, and/or the like. A UE may be acellular phone (for example, a smart phone), a personal digitalassistant (PDA), a wireless modem, a wireless communications device, ahandheld device, a laptop computer, a cordless phone, a wireless localloop (WLL) station, a tablet, a camera, a gaming device, a netbook, asmartbook, an ultrabook, a medical device or equipment, biometricsensors/devices, wearable devices (smart watches, smart clothing, smartglasses, smart wrist bands, smart jewelry (for example, smart ring,smart bracelet)), an entertainment device (for example, a music or videodevice, or a satellite radio), a vehicular component or sensor, smartmeters/sensors, industrial manufacturing equipment, a global positioningsystem device, or any other suitable device that is configured tocommunicate via a wireless or wired medium.

One or more UEs 120 may establish a protocol data unit (PDU) session fora network slice. In some cases, the UE 120 may select a network slicebased on an application or subscription service. By having differentnetwork slices serving different applications or subscriptions, the UE120 may improve its resource utilization in the wireless network 100,while also satisfying performance specifications of individualapplications of the UE 120. In some cases, the network slices used by UE120 may be served by an AMF (not shown in FIG. 1) associated with one orboth of the base station 110 or core network 130. In addition, sessionmanagement of the network slices may be performed by an access andmobility management function (AMF).

The UEs 120 may include a module 140. For brevity, only one UE 120 d isshown as including the module 140. The module 140 may [this section willmirror the claims and will be updated after the review of thespecification].

Some UEs may be considered machine-type communications (MTC) or evolvedor enhanced machine-type communications (eMTC) UEs. MTC and eMTC UEsinclude, for example, robots, drones, remote devices, sensors, meters,monitors, location tags, and/or the like, that may communicate with abase station, another device (for example, remote device), or some otherentity. A wireless node may provide, for example, connectivity for or toa network (for example, a wide area network such as Internet or acellular network) via a wired or wireless communications link. Some UEsmay be considered Internet-of-Things (IoT) devices, and/or may beimplemented as NB-IoT (narrowband internet of things) devices. Some UEsmay be considered a customer premises equipment (CPE). UE 120 may beincluded inside a housing that houses components of UE 120, such asprocessor components, memory components, and/or the like.

In general, any number of wireless networks may be deployed in a givengeographic area. Each wireless network may support a particular radioaccess technology (RAT) and may operate on one or more frequencies. ARAT may also be referred to as a radio technology, an air interface,and/or the like. A frequency may also be referred to as a carrier, afrequency channel, and/or the like. Each frequency may support a singleRAT in a given geographic area in order to avoid interference betweenwireless networks of different RATs. In some cases, NR or 5G RATnetworks may be deployed.

In some aspects, two or more UEs 120 (for example, shown as UE 120 a andUE 120 e) may communicate directly using one or more sidelink channels(for example, without using a base station 110 as an intermediary tocommunicate with one another). For example, the UEs 120 may communicateusing peer-to-peer (P2P) communications, device-to-device (D2D)communications, a vehicle-to-everything (V2X) protocol (for example,which may include a vehicle-to-vehicle (V2V) protocol, avehicle-to-infrastructure (V2I) protocol, and/or the like), a meshnetwork, and/or the like. In this case, the UE 120 may performscheduling operations, resource selection operations, and/or otheroperations described elsewhere as being performed by the base station110. For example, the base station 110 may configure a UE 120 viadownlink control information (DCI), radio resource control (RRC)signaling, a media access control-control element (MAC-CE) or via systeminformation (for example, a system information block (SIB).

FIG. 2 shows a block diagram of a design 200 of the base station 110 andUE 120, which may be one of the base stations and one of the UEs inFIG. 1. The base station 110 may be equipped with T antennas 234 athrough 234 t, and UE 120 may be equipped with R antennas 252 a through252 r, where in general T≥1 and R≥1.

At the base station 110, a transmit processor 220 may receive data froma data source 212 for one or more UEs, select one or more modulation andcoding schemes (MCS) for each UE based at least in part on channelquality indicators (CQIs) received from the UE, process (for example,encode and modulate) the data for each UE based at least in part on theMCS(s) selected for the UE, and provide data symbols for all UEs.Decreasing the MCS lowers throughput but increases reliability of thetransmission. The transmit processor 220 may also process systeminformation (for example, for semi-static resource partitioninginformation (SRPI) and/or the like) and control information (forexample, CQI requests, grants, upper layer signaling, and/or the like)and provide overhead symbols and control symbols. The transmit processor220 may also generate reference symbols for reference signals (forexample, the cell-specific reference signal (CRS)) and synchronizationsignals (for example, the primary synchronization signal (PSS) andsecondary synchronization signal (SSS)). A transmit (TX) multiple-inputmultiple-output (MIMO) processor 230 may perform spatial processing (forexample, precoding) on the data symbols, the control symbols, theoverhead symbols, and/or the reference symbols, if applicable, and mayprovide T output symbol streams to T modulators (MODs) 232 a through 232t. Each modulator 232 may process a respective output symbol stream (forexample, for OFDM and/or the like) to obtain an output sample stream.Each modulator 232 may further process (for example, convert to analog,amplify, filter, and upconvert) the output sample stream to obtain adownlink signal. T downlink signals from modulators 232 a through 232 tmay be transmitted via T antennas 234 a through 234 t, respectively.According to various aspects described in more detail below, thesynchronization signals can be generated with location encoding toconvey additional information.

At the UE 120, antennas 252 a through 252 r may receive the downlinksignals from the base station 110 and/or other base stations and mayprovide received signals to demodulators (DEMODs) 254 a through 254 r,respectively. Each demodulator 254 may condition (for example, filter,amplify, downconvert, and digitize) a received signal to obtain inputsamples. Each demodulator 254 may further process the input samples (forexample, for OFDM and/or the like) to obtain received symbols. A MIMOdetector 256 may obtain received symbols from all R demodulators 254 athrough 254 r, perform MIMO detection on the received symbols ifapplicable, and provide detected symbols. A receive processor 258 mayprocess (for example, demodulate and decode) the detected symbols,provide decoded data for the UE 120 to a data sink 260, and providedecoded control information and system information to acontroller/processor 280. A channel processor may determine referencesignal received power (RSRP), received signal strength indicator (RSSI),reference signal received quality (RSRQ), channel quality indicator(CQI), and/or the like. In some aspects, one or more components of theUE 120 may be included in a housing.

On the uplink, at the UE 120, a transmit processor 264 may receive andprocess data from a data source 262 and control information (forexample, for reports comprising RSRP, RSSI, RSRQ, CQI, and/or the like)from the controller/processor 280. Transmit processor 264 may alsogenerate reference symbols for one or more reference signals. Thesymbols from the transmit processor 264 may be precoded by a TX MIMOprocessor 266 if applicable, further processed by modulators 254 athrough 254 r (for example, for DFT-s-OFDM, CP-OFDM, and/or the like),and transmitted to the base station 110. At the base station 110, theuplink signals from the UE 120 and other UEs may be received by theantennas 234, processed by the demodulators 254, detected by a MIMOdetector 236 if applicable, and further processed by a receive processor238 to obtain decoded data and control information sent by the UE 120.The receive processor 238 may provide the decoded data to a data sink239 and the decoded control information to a controller/processor 240.The base station 110 may include communications unit 244 and communicateto the core network 130 via the communications unit 244. The corenetwork 130 may include a communications unit 294, acontroller/processor 290, and a memory 292.

The controller/processor 240 of the base station 110, thecontroller/processor 280 of the UE 120, and/or any other component(s) ofFIG. 2 may perform one or more techniques associated with polar codeencoding as described in more detail elsewhere. For example, thecontroller/processor 240 of the base station 110, thecontroller/processor 280 of the UE 120, and/or any other component(s) ofFIG. 2 may perform or direct operations of, for example, the processesof FIGS. 12 and 13 and/or other processes as described. Memories 242 and282 may store data and program codes for the base station 110 and UE120, respectively. A scheduler 246 may schedule UEs for datatransmission on the downlink and/or uplink.

As discussed, an object may travel toward an ego vehicle such that thevehicle and the object may collide. As an example, an object may fall ofa vehicle in front of, or near, the ego vehicle and travel toward theego vehicle, such that the object and the ego vehicle eventuallycollide. FIG. 3A is a block diagram illustrating an example of an object302 traveling toward an ego vehicle 300, in accordance with aspects ofthe present disclosure. In the example of FIG. 3A, at time t1, a sensor304 of the ego vehicle 300 detects the object 302 at a distance D1 fromthe ego vehicle 300. The sensor 304 working in conjunction with one ormore other components may determine the distance D1. The ego vehicle 300may be an example of the agent 150 describe with reference to FIG. 1A.The sensor 304 may be an example of a 2D camera 108, LIDAR 106, oranother type of sensor, such as RADAR. The vehicle 300 may be anautonomous, semi-autonomous, or non-autonomous vehicle. In someexamples, the sensor 304 may determine the object 302 is in a path ofthe vehicle 300. Aspects of the present disclosure are not limited toone sensor 304, the vehicle 300 may be equipped with multiple sensors.At time t1, in the example of FIG. 3A, the vehicle 300 may be travelingat a velocity XV. The object 302 may be traveling at a velocity XO. Attime t1, the vehicle 300 and other associated components may be unawareof the velocity XO of the object 302.

FIG. 3B is a block diagram illustrating an example of an object 302traveling toward an ego vehicle 300, in accordance with aspects of thepresent disclosure. In the example of FIG. 3B, at time t2, the sensor304 of the vehicle 300 determines the object 302 is at a distance D2 tothe vehicle. At time t2, the sensor working in conjunction with one ormore other components may determine the distance D2. In the example ofFIG. 3B, the distance D2 is less than the distance D1, as shown in FIG.3A, because the vehicle 300 is traveling toward the object 302 at avelocity XV and the object is traveling toward the vehicle 300 at avelocity XO.

At time t2, the vehicle 300 and/or one or more components, may determinethe velocity XO of the object 302 based on the first distance D1 at timet1, the second distance D2 at time t2, and the velocity XV of thevehicle 300. The velocity XO may be determined as ((D1−D2)−DV)/(t2−t1).That is, the velocity XO may be the distance traveled by the object(D1−D2) over the period of time (t2−t1) while considering a distance DVtravelled by the vehicle 300 over the period of time (t2−t1). Thedistance DV travelled by the vehicle 300 may be determined based onlocation sensor information, such as GPS information, a navigationsensor, an odometer, and/or other information.

After determining the velocity XO of the object, the vehicle 300 and/orone or more components, may determine an estimated collision time CTbetween the vehicle 300 and the object 302, assuming the vehicle 300 andthe object 302 maintain their respective velocities XV and XO. Theestimated collision time CT may be determined as based on a functionwhere distance is a product of rate and time. In this example, adistance traveled by the object 302 may be a variable DTO and a distancetraveled by the vehicle 300 may be a variable (D2−DTO). The rate of theobject 302 is the velocity XO and the rate of the vehicle 300 is thevelocity XV. A time traveled by the object 302 and the vehicle 300 maybe the same and may be represented as a variable t. For the object 302,DTO=XO*t. For the vehicle 300, (D2−DTO)=XV*t. Using the substitutionmethod, DTO may be replaced by (XO*t), such that (D2−(XO*t))=XV*t, andD2=(XV*t)+(XO*t). This may be simplified to D2=(XV+XO)*t. When solvingfor the time t, the equation may be t=D2/(XV+XO).

In the examples of FIGS. 3A and 3B, the distances D1 and D2 areestimated based on a distance from a windshield of the vehicle 300. Thedistances D1 and D2 are not limited to a distance from the windshieldand may be any distance from an estimated point of contact with thevehicle 300. The point of contact may be determine based on a positionof the object 302 in relation to the vehicle 300. Accordingly, theobject 302 may travel toward the vehicle 300 from any direction relativeto the vehicle 300, such as from a rear, side, or top. Aspects of thepresent disclosure contemplate preventing a potential collision from anydirection.

In some examples, a time of impact TOI may be based on the current timeand the estimate time until collision. For example, TOI=(currenttime+t). At a time prior to the time of impact, the vehicle 300 mayinitiate a collision prevention process (e.g., protective measures). Thecollision prevention process is intended to reduce a velocity XO of theobject 302 and/or change a direction of travel of the object 302. Assuch, the collision prevention process may prevent a collision betweenthe vehicle 300 and the object 302 or reduce a force of the collision.

In some implementations, the collision prevention process causesemission of a substance from the vehicle 300. The substance may be aliquid (e.g. water), gas (e.g., air), or another type of substance(e.g., semi-solid, solid, etc.). It may be desirable to use a clearsubstance, such as water or air, to prevent distractions, such as adistraction to the current driver and/or surrounding drivers. FIG. 3C isa block diagram illustrating an example of a collision preventionprocess, in accordance with aspects of the present disclosure. As shownin FIG. 3C, the collision prevention process may emit (e.g., discharge)the substance in one or more directions, such as directions A, B, and/orC. Other directions are also contemplated. The substance(s) may bedischarged at a high velocity, such that the object 302 (not shown inFIG. 3C) may veer off course when coming in contact with the substancedischarged in direction A, B, and/or C. This is illustrated in FIG. 3D,which is a block diagram illustrating an example of the collisionprevention process, in accordance with aspects of the presentdisclosure. In the example of FIG. 3D, for ease of explanation, thesubstance may be discharged in only direction B. Of course, thesubstance may be simultaneously discharged in other directions, such asdirection A or C as shown in FIG. 3C. In some other examples, thedischarge in the multiple directions A, B, and/or C may be staggered. Insome such examples, the substance may first discharge in direction A,then direction B, then direction C. As shown in FIG. 3D, the object 302may travel along a first path 330 toward the vehicle 330. The first path330 of the object 302 may intersect with the discharge direction B ofthe substance emitted from the vehicle 302. Due to the velocity anddirection of the discharge, the first path 330 may change to a secondpath 332, such that a collision with the vehicle 300 is prevented. Inthe example of FIG. 3D, the discharge direction B is perpendicular tothe road (not shown in FIG. 3D), thus causing the first path 330 tochange from a horizontal direction to an upward direction.

As discussed, the collision prevention system may discharge a substance,or one or more substances, such as air and/or water, in one or moredirections, such as directions A, B, and/or C as shown in FIG. 3C. Thedischarged substance may cause the object to veer off course, therebypreventing a collision. Alternatively, the discharged substance reducethe object's velocity, thereby reducing an effect of an impact with thewindshield. For example, the reduced impact may prevent the windshieldfrom cracking.

FIG. 4 is a diagram illustrating an example of discharging a substancein one or more directions, in accordance with aspects of the presentdisclosure. For simplicity, the example of FIG. 4 will use air as anexample of the substance. As discussed, the substance is not limited toreleasing air. In some examples, the substance be released from valvesdefined on, or integrated with, a windshield 400. In some otherexamples, the valves may be adjacent to the windshield 400, or atanother location on a vehicle, such as the vehicle 300 or 150 asdescribed in FIGS. 3 and 1, respectively. In the example of FIG. 4, thevalves (not shown in FIG. 4) may be defined on vertical pillars 402 ofthe vehicle that support the windshield. The windshield may beintegrated with the vehicle. In some other examples, the valves may beintegrated with the window frame or the body of the vehicle. Because thewindshield 400 may curve, the valves may release the substance at anupward angle (shown by the arrows of FIG. 4) towards a center of thewindshield 400. For example, the substance may be released at a 45degree angle, relative to the pillar 402. In one configuration, thesubstance is released with enough pressure such that the blast ofsubstance a valve on one pillar 402 intersects with a blast of thesubstance on a valve of another pillar 402. The valves may be connectedto one or more compressors located in the vehicle. Additionally, oralternatively, an electric pump may be used to discharge the substancefrom the valves. The valves may be electronically controlled to change adirection of the discharge based on a direction of approach of an objectto the vehicle and/or current conditions, such as current windconditions or weather conditions (e.g., snow, rain, heat). In someexample, some valves may face a different direction than other valves ona same pillar 402 and/or another pillar 402. In some examples, thesubstance may be released in one or more other directions, such ashorizontally and/or vertically. Additionally, or alternatively, thesubstance may be released from other sections of the vehicle, such asthe hood, front grill, roof, bumper, etc.

In some examples, the collision prevention system may be initiated at apre-determined time, or based on a trigger, before the time of impact.The collision prevention system may be maintained on the object impactsthe vehicle or after the collision is avoided. FIG. 5 is a diagramillustrating an example of initiating a collision prevention system, inaccordance with aspects of the present disclosure. In some examples, toaccount for variances in calculating the time of impact, the collisionprevention system may initiate at a time before the time of impact, sucha time of impact t−n, where the parameter n is a pre-determined time. Insome examples, the parameter n is based on an average variance.Additionally, or alternatively, the collision prevention system mayinitiate based on a trigger, such as when the object 302 crosses aboundary 500, such as a forward vertical plane of the vehicle 300. Theprotective measures may initiate when a distance of an object from theboundary 500 is less than a threshold or when the object crosses theboundary 500. Aspects of the present disclosure are not limited to theboundary 500 of FIG. 5, other boundaries may be established around thevehicle. In one configuration, a boundary surrounds the entire vehicle300.

As discussed, an occupant of the vehicle, such as the driver and/orpassenger, may be warned at a time when the collision prevention systemis initiated or prior to initiation. The warning may prevent the driverfrom being startled by the discharge of the one or more substance. Insome examples, the warning may be generated and output when the vehicleis operating in a manual or semi-autonomous mode. In some such examples,the warning is also provided when the vehicle is operating in anautonomous mode to prevent the occupants from being startled. In someexamples, the system determines the vehicle's operating mode andgenerates a warning based on the operating mode. For example, thewarning may be limited to the manual or semi-autonomous mode. Thewarning may be output at one or both of a user device, such as a UE 120that is in communication with the vehicle, or a device integrated withthe vehicle.

FIG. 6A illustrates an example of an interfaces 650 of a vehicle, inaccordance with aspects of the present disclosure. In the example ofFIG. 6A, the interface 650 includes a touchscreen 622 that may bedynamically updated. In the current example, the touchscreen 622displays climate control information. The touchscreen 622 may bedynamically updated to display other information, such as navigationinformation, entertainment information, and/or warnings. In someexamples, a warning may be displayed as a pop-up window, a top banner, abottom banner, and/or another type of notification.

In some examples, the warning (e.g., notification) may be displayed viaan in-vehicle display system, such as the touchscreen 622 of FIG. 6A. Asdiscussed, the notification may be a pop-up and/or a banner. In someexamples, the notification may be displayed while the user isinteracting with the touchscreen 622. For example, the user may be inthe process of providing an input to the touchscreen 622 when thenotification is displayed. In this example, the user may accidentlytouch (e.g., provide an input) the notification rather than an intendedicon/menu item. As such, it is desirable to improve notification systemsto account for unintended inputs. Aspects of the present disclosurediscussed with reference to notifications and/or an in-vehicle displaysystem are not limited to the in-vehicle display system, such aspectsare also contemplated for other devices with displays, such as a mobiledevice. The mobile device may be an example of a UE 110 described withreference to FIGS. 1B and 2.

FIG. 6B is a diagram illustrating an example of a conventionalnotification system. As shown in FIG. 6B, a list of items 600, 601, 602,603 may be displayed on the touchscreen display 622. At time t1, a usermay attempt to select one of the items 600, 601, 602, 603 via a touchinput 670. In some cases, at time t2, at a time prior to the userproviding the touch input 670 on the display 622, a notification 605 isdisplayed and overlaps with the 80's music menu item 600. The user maynot have sufficient time to react to the notification 605 and the userinadvertently selects the notification 605. The notification 605 may bea type of notification that may be selected via the touch input 670, maybe dismissed via a swipe motion (e.g., swipe up), or may be dismissed ifan input is not received after a period of time. In the example of FIG.6B, at time t3, a notification confirmation 606 is displayed based onthe user input 670. In such an example, the notification confirmation606 is displayed rather than the system performing a functioncorresponding to the intended menu item 600, such as tuning a radio tothe 80's music channel associated with the 80's music menu item 600. Itmay be desirable to prevent the system from responding to an inadvertenttouch.

In some implementations, when an input is received on a notification,the system predicts if the input is intended for the notification or amenu item displayed underneath the notification (e.g., an menu itemcovered by the notification). A menu item refers to a screen element,such as an icon, hyperlink, button, a scrollable page, etc., that mayreceive a touch input or another input, such as a mouse click. In someexamples, when a notification is displayed, the system (e.g., aprocessor associated with the device) may determine if the notificationpartially or fully overlaps an existing menu item. In the previousexample, “80's music” is an input item that exists under thenotification. That is, when the notification was displayed, thenotification was placed over the “80's music” icon. In some aspects, thesystem does not process an input on a notification if the notificationoverlaps a menu item. The system may wait for a second input on thenotification and then process the second input, where the second inputconfirms the user's intent to select the notification.

As discussed, a menu item may be a scrollable page. In some examples,the user may have been providing an input to scroll through a displayedpage (e.g., graphical user interface (GUI)). For example, the user mayhave provided N inputs to scroll through the page and the notificationmay appear before the user provides the N+1 input for scrolling. Theuser may inadvertently select the notification when intending to providethe N+1 input for scrolling. In conventional systems, rather thanscrolling, the notification item is initiated. According to aspects ofthe present disclosure, the system may ignore the input on thenotification based on the previous activity. The system may continue toscroll or wait for a subsequent input.

That is, in some system may also monitor the user's previous activity.For example, the user may have navigated to the list of stations and maybe scrolling through the list. As such, the system may determine thatthe user was intending to continue scrolling through the list orintending to select the 80's music icon. In some aspects, the system mayignore the input on the notification based on the user's prior activity.In some such aspects, the system may wait for a second input on thenotification and then process the second input, where the second inputconfirms the user's intent to select the notification. The system mayalso learn how often the user selects specific notifications. Forexample, the user may respond to text message notifications and mayignore news flashes.

In some examples, the notification may overlap multiple menu items. Insome such examples. In some such examples, the system may process theinput for the menu item corresponding to the location of the input atthe notification. The system may determine a proximity of a mouse orinput device (e.g., finger) to the menu item before the notification wasdisplayed. If the distance is less than a threshold, the system mayignore the input on the notification and proceeds as though the userintended to select the menu item.

According to various aspects of the present disclosure, when an input isat a notification that overlaps one or more menu items, the system mayreact in one or more ways, such as: ignore the input on the notificationand wait for a subsequent input; ignore the input and dismiss thenotification; accept the input on the notification and take an action onthe input on the notification; or process the input as if the input wasprovided for the icon beneath the notification.

In some examples, one or more people may be near a display of a deviceassociated with an ego person. FIG. 7 is a diagram illustrating anexample of one or more users near a display. In the example of FIG. 7,an ego person 700 may be using a device 708 that includes a display 710.The device 708 may be a UE, such as a UE 110 described with reference toFIGS. 1 and 2, an interference of a vehicle, such as the interface 650described with reference to FIG. 6A, or another type of device.Additionally, the ego person 700 may be adjacent to a neighboring person702, and the display 710 may be within a field of view 706 of theneighboring person 702, such that the neighboring person 702 may viewthe content on the display 710. In some examples, the ego person 700 maynot want the neighboring person 702 to see certain content. For example,the ego person 700 may be browsing the Internet and does not want theirchild (e.g., neighboring person 702) to view inappropriate content.Presence of the neighboring person 702 may be dynamic, that is, theneighboring person 702 may appear without warning. Therefore, the targetuser 700 may not have time to scroll away or change content displayed atthe device 708. Additionally, or alternatively, the user may be browsingsocial media and may not be in control of some of the displayed content.It is desirable to filter content when one or more additional persons702 are present. The additional user 702 may be a pre-determined person(e.g., a person associated with a group of persons, such as children).

In some aspects, a sensor associated with the device 708 may identifythe presence of the neighboring person 702. In some examples, thepresence may be determined from one or more of a forward facing camera,rear facing camera, side camera, or other image capturing device.Additionally, or alternatively, the presence may be determined based oncommunications a device 712 of the neighboring person 702. For example,the device 708 associated with the ego person 700 determine theproximity of the device 712 associated with the neighboring person 702based on near-field communications, or other types of communications.

When presence of the neighboring person 702 is confirmed, the egoperson's device 708 may filter any content that satisfies filteringcriteria. The filtering criteria may be based on whether the content isinappropriate or content flagged for filtering by the ego person 700.The inappropriate content may be flagged by a third-party, such as acontent flagging entity. Additionally, or alternatively, inappropriatecontent may be flagged by the ego person 700. For example, the targetuser may set lewd images, gore, and violence as inappropriate. A machinelearning model may be trained to identify content that is inappropriateand content that is not inappropriate.

As an example, at a time t1, the ego person 700 may be browsing socialmedia and the content may not be filtered because the neighboring person702 may not be present. At a time t2, the device 708 determines theneighboring person 702 may be in proximity to the device 708. Asdiscussed, the proximity may be determined based on identifying theneighboring person 702 via one or more sensors, such as an image sensor,and/or based on detecting a device 712 associated with the neighboringperson 702. The device 712 may be detected based on one or morecommunication methods, such as near field communication, short-wavecommunication, or other types of device-to-device communication. Inresponse to determining the neighboring person 702 may be in proximityto the device 708, the device 708 may initiate content filtering forcontent displayed and/or output at the device 708 until the neighboringperson 702 is no longer in proximity. The proximity may be a distancethat is less than a threshold. The ego person 700 may also disablecontent filtering while the neighboring person 702 is in proximity.

The device may filter content based on a user type. For example, if thedevice identifies a child, a first set of content is filtered. If thedevice identifies another adult, a second type of content is filtered.The user type may be identified by the sensor (e.g., camera) or thedevice of the other user. The filtering is not limited to contentdisplayed on a display unit, the content may include other content, suchas audio. The content on the display unit may include text message,emails, and/or other types of content.

In some aspects, in addition to, or alternate from filtering based on anidentified other user, the device may filter content based on a filtermode selected by the user. FIG. 8 is a timing diagram illustrating anexample 800 of filtering communications based on a user, in accordancewith aspects of the present disclosure. For ease of explanation, theexample 800 is described with reference to a UE 120. Still, aspectsdiscussed with reference to FIG. 8 are not limited to the UE 120 and maybe implemented on another device, such as an interface of a vehicle,such as the interface 650 described with reference to FIG. 6A. As shownin FIG. 8, at time t1, a user places one or more contacts (e.g., otherusers) on a filter list (e.g., a list of filtered users). At time t2,the user enables the filer mode. When the user enables the filter mode,messages and calls from a contact in the list of filtered users are notoutput on the device. Still, messages and calls from users not in thelist may be output. For example, a user's ex-girlfriend may be in thelist of filtered users and the user's mother is not on the list. When ona date, the user may enable the filter mode. During the date, the usermay receive calls or text messages from the mother but may not receivecalls or messages from the ex-girlfriend.

As shown in FIG. 8, at time t3, the user receives a communication from acontact. At time t4, the UE 120 determines if the communication is froma contact in the filter list. In some examples, if the communication isfrom a contact in the filter list, the communication may be ignored anda notification is not generated at the UE 120. In some other examples,the notification is not generated at the UE 120 and the UE 120automatically responds to the contact when the filter mode is enabled(time t5). Continuing from the example above, when the filtered mode isenabled, a text message from the ex-girlfriend may be filtered. That is,the text message is received, however, the device does not display anynotifications related to the text message. In one configuration, thetext message is marked as read. Additionally, the text may not show upin the list of received texts until the user disables the filter mode.Still, so as not to raise suspicion by the sender of the text, thedevice may automatically respond. For example, the ex-girlfriend's textmay be “hi, how are you?” The response may be “good, how are you?” or“good, at the gym right now, I'll message you later.” The responses maybe time and location based. For example, if the user usually goes to thegym between 6 PM-8 PM, the responses may reference the gym if the filtermode is enabled between 6 PM-8 PM. Otherwise, the responses may notinclude gym responses.

The responses may also be trained on communications between the owner ofthe device and the users on the list. For example, the user'sex-girlfriend may be on the list and the user's boss may be on thefilter list. The system may learn that the user refers to hisex-girlfriend as “honey” and his boss as “chief”. The responses may betailored based on the learned communications. For example, an automaticresponse to the ex-girlfriend may be “sorry honey, can't talk right now,I'll message you later.” As another example, the automatic response tothe boss may be “sorry chief, I'm unavailable, I will get back to youASAP!” A machine learning model may be implemented to learn the user'scommunication style with filtered users. The automatic responses may beclosed ended so as not to carry on a conversation.

In some cases, the user may be in vicinity to a filtered user. If afiltered user is in proximity to the device, the device may allow amessage or call from the filtered user to be displayed. The proximitymay be determined based on location sharing, proximity sensors, or othertypes of proximity detection.

As shown in FIG. 8, at time t6, the UE 120 receives anothercommunication from a contact. At time t7, the UE 120 determines if thecommunication from a contact in the filter list. In this example, thecommunication is not from a contact in the filter list. Therefore, theUE 120 may generate a notification, such as a ring or a vibration. Attime t8, the user may disable the filter mode. At time t9, the UE 120receives a communication from a contact. At time t10, the UE 120generates a notification to alert the user of an incoming communication.The notification may be generated regardless of the source (e.g.,contact) of the communication because the filter mode is disabled (timet8).

FIG. 9 is a diagram illustrating an example of a hardware implementationfor a control system 900 of a vehicle 928, in accordance with aspects ofthe present disclosure. The control system 900 may support one or moreof collision avoidance, message filtering, user input interpretation,and user filtering as discussed in various aspects of the presentdisclosure. The vehicle 928 may be an example of a vehicle 150 or 300described with reference to FIGS. 1A, 3A, 3B, 3C, and 3D. Aspects of thepresent disclosure are not limited to the vehicle control system 900being a component of the vehicle 928, as other devices, such as a bus,boat, drone, or robot, are also contemplated for using the vehiclecontrol system 900. The vehicle 928 may be autonomous orsemi-autonomous. In some examples, the control system 900 is configuredto perform operations, including operations of one or more of theprocess 1000, 1100, 1200, or 1300 described below with reference toFIGS. 10, 11, 12, and 13.

The vehicle control system 900 may be implemented with a busarchitecture, represented generally by a bus 990. The bus 990 mayinclude any number of interconnecting buses and bridges depending on thespecific application of the vehicle control system 900 and the overalldesign constraints. The bus 990 links together various circuitsincluding one or more processors and/or hardware modules, represented bya processor 920, a communication module 922, a location module 918, asensor module 902, a locomotion module 926, a navigation module 924, anda computer-readable medium 914. The bus 990 may also link various othercircuits such as timing sources, peripherals, voltage regulators, andpower management circuits, which are well known in the art, andtherefore, will not be described any further.

The vehicle control system 900 includes a transceiver 916 coupled to theprocessor 920, the sensor module 902, a comfort module 908, thecommunication module 922, the location module 918, the locomotion module926, the navigation module 924, and the computer-readable medium 914.The transceiver 916 is coupled to an antenna 444. The transceiver 916communicates with various other devices over a transmission medium. Forexample, the transceiver 916 may receive commands via transmissions froma user or a remote device. As another example, the transceiver 916 maytransmit driving statistics and information from the comfort module 908to a server (not shown).

The vehicle control system 900 includes the processor 920 coupled to thecomputer-readable medium 914. The processor 920 performs processing,including the execution of software stored on the computer-readablemedium 914 providing functionality according to the disclosure. Thesoftware, when executed by the processor 920, causes the vehicle controlsystem 900 to perform the various functions described for a particulardevice, such as the vehicle 928, or any of the modules 902, 914, 916,918, 920, 922, 924, 926. The computer-readable medium 914 may also beused for storing data that is manipulated by the processor 920 whenexecuting the software.

The sensor module 902 may be used to obtain measurements via differentsensors, such as a first sensor 906 and a second sensor 904. The firstsensor 906 may be a vision sensor, such as a stereoscopic camera or ared-green-blue (RGB) camera, for capturing 2D images. The second sensor904 may be a ranging sensor, such as a light detection and ranging(LIDAR) sensor or a radio detection and ranging (RADAR) sensor. Ofcourse, aspects of the present disclosure are not limited to theaforementioned sensors as other types of sensors, such as, for example,thermal, sonar, and/or lasers are also contemplated for either of thesensors 904, 906. The measurements of the first sensor 906 and thesecond sensor 904 may be processed by one or more of the processor 920,the sensor module 902, the communication module 922, the location module918, the locomotion module 926, the navigation module 924, inconjunction with the computer-readable medium 914 to implement thefunctionality described herein. In one configuration, the data capturedby the first sensor 906 and the second sensor 904 may be transmitted toan external device via the transceiver 916. The first sensor 906 and thesecond sensor 904 may be coupled to the vehicle 928 or may be incommunication with the vehicle 928.

The location module 918 may be used to determine a location of thevehicle 928. For example, the location module 918 may use a globalpositioning system (GPS) to determine the location of the vehicle 928.The communication module 922 may be used to facilitate communicationsvia the transceiver 916. For example, the communication module 922 maybe configured to provide communication capabilities via differentwireless protocols, such as WiFi, long term evolution (LTE), 4G, etc.The communication module 922 may also be used to communicate with othercomponents of the vehicle 928 that are not modules of the vehiclecontrol system 900.

The locomotion module 926 may be used to facilitate locomotion of thevehicle 928. As an example, the locomotion module 926 may controlmovement of the wheels. As another example, the locomotion module 926may be in communication with a power source of the vehicle 928, such asan engine or batteries. Of course, aspects of the present disclosure arenot limited to providing locomotion via wheels and are contemplated forother types of components for providing locomotion, such as propellers,treads, fins, and/or jet engines.

The vehicle control system 900 also includes the navigation module 924for planning a route or controlling the locomotion of the vehicle 928,via the locomotion module 926. In one configuration, the planning module924 overrides the user input when the user input is expected (e.g.,predicted) to cause a collision. The modules may be software modulesrunning in the processor 920, resident/stored in the computer-readablemedium 914, one or more hardware modules coupled to the processor 920,or some combination thereof. The navigation module 924 may be incommunication with the sensor module 902, the transceiver 916, theprocessor 920, the communication module 922, the location module 918,the locomotion module 926, the planning module 924, and thecomputer-readable medium 914.

As shown in FIG. 9, the vehicle control system 900 may also include acollision avoidance module 910. Working in conjunction with one or moreother components of the vehicle control system 900, the collisionavoidance module 910 may identify an object within a path of the vehicle928; estimate a time of a collision between the object and the vehicle928 based on identifying the object; and cause one or more valvesintegrated with the vehicle 928 to discharge substance from one or moreexterior locations of the vehicle 928 prior to the estimated time of thecollision. The path of the vehicle 928 may be estimated based on acurrent trajectory, a planned route by the planning module 924, currenttelemetry, and/or other methods of estimating a path.

The vehicle control system 900 may also include a notification module912. Working in conjunction with one or more other components of thevehicle control system 900, the notification module 912 may generate anotification that overlaps, at least partially, an item displayed on adisplay unit; receive a user input at the notification; determinewhether the user input was intended for the notification or the item;and perform an action associated with the user input based ondetermining whether the user input was intended for the notification orthe item.

Additionally, or alternatively, working in conjunction with one or moreother components of the vehicle control system 900, the notificationmodule 912 may generate content to be displayed, to a first user, via adisplay unit; identify a second user in proximity to the display unit;and filter content to be displayed, to the first user, via the displayunit based on identifying the second user.

Additionally, or alternatively, working in conjunction with one or moreother components of the vehicle control system 900, the notificationmodule 912 may receive a communication; determine whether a person thatinitiated the communication is associated with a contact on a list ofcontacts; and refrain from generating a notification associated withreceiving the communication based on the person being associated withthe contact on the list of contacts.

FIG. 10 is a flow diagram illustrating an example process 1000performed, for example, by a vehicle, in accordance with various aspectsof the present disclosure. The example process 1000 is an example ofpreventing a collision at a vehicle, 1000. As shown in FIG. 10, theprocess 100 begins at block 1002, by identifying an object within a pathof the vehicle. At block 1004, the process 1000 estimates a time of acollision between the object and the vehicle based on identifying theobject. At block 1006, the process 1000 discharges a substance from oneor more exterior locations of the vehicle prior to the estimated time ofthe collision. The process 1000 may be performed in combination with oneor more other process 1100, 1200, or 1300.

FIG. 11 is a flow diagram illustrating an example process 1100performed, for example, by a user equipment, in accordance with variousaspects of the present disclosure. The example process 1100 is anexample of performing an action based on a user input. The process 1100may be performed by a UE, such as a UE 120 described with reference toFIGS. 1B, 2, and 9, or an interface, such as the interface 650 describedwith reference to FIG. 6A. The process 1100 may be performed incombination with one or more other process 1100, 1200, or 1000. At block1102, the process 1100 generates a notification that overlaps, at leastpartially, an item displayed on a display unit. At block 1104, theprocess 1100 receives a user input at the notification. At block 1106,the process 1100 determines whether the user input was intended for thenotification or the item. At block 1108, the process 1100 performs anaction associated with the user input based on determining whether theuser input was intended for the notification or the item.

FIG. 12 is a flow diagram illustrating an example process 1200performed, for example, by a user equipment, in accordance with variousaspects of the present disclosure. The example process 1200 is anexample of filtering content. The process 1200 may be performed by a UE,such as a UE 120 described with reference to FIGS. 1B, 2, and 9, or aninterface, such as the interface 650 described with reference to FIG.6A. The process 1200 may be performed in combination with one or moreother process 1100, 1300, or 1000. At block 1202, the process 1200generates content to be displayed, to a first user, via a display unit.At block 1204, the process 1200 identify a second user in proximity tothe display unit. At block 1206, the process 1200 filters content to bedisplayed, to the first user, via the display unit based on identifyingthe second user.

FIG. 13 is a flow diagram illustrating an example process 1300performed, for example, by a user equipment, in accordance with variousaspects of the present disclosure. The example process 1300 is anexample of filtering contacts. The process 1300 may be performed by aUE, such as a UE 120 described with reference to FIGS. 1B, 2, and 9, oran interface, such as the interface 650 described with reference to FIG.6A. The process 1300 may be performed in combination with one or moreother process 1100, 1200, or 1000. At block 1302, the process 1300receives, at a UE, a communication. At block 1304, the process 1300determines whether a person that initiated the communication isassociated with a contact on a list of contacts. At block 1306, theprocess 1300 refrain from generating a notification associated withreceiving the communication based on the person being associated withthe contact on the list of contacts.

Based on the teachings, one skilled in the art should appreciate thatthe scope of the present disclosure is intended to cover any aspect ofthe present disclosure, whether implemented independently of or combinedwith any other aspect of the present disclosure. For example, anapparatus may be implemented or a method may be practiced using anynumber of the aspects set forth. In addition, the scope of the presentdisclosure is intended to cover such an apparatus or method practicedusing other structure, functionality, or structure and functionality inaddition to, or other than the various aspects of the present disclosureset forth. It should be understood that any aspect of the presentdisclosure may be embodied by one or more elements of a claim.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any aspect described herein as “exemplary”is not necessarily to be construed as preferred or advantageous overother aspects.

Although particular aspects are described herein, many variations andpermutations of these aspects fall within the scope of the presentdisclosure. Although some benefits and advantages of the preferredaspects are mentioned, the scope of the present disclosure is notintended to be limited to particular benefits, uses or objectives.Rather, aspects of the present disclosure are intended to be broadlyapplicable to different technologies, system configurations, networksand protocols, some of which are illustrated by way of example in thefigures and in the following description of the preferred aspects. Thedetailed description and drawings are merely illustrative of the presentdisclosure rather than limiting, the scope of the present disclosurebeing defined by the appended claims and equivalents thereof.

As used herein, the term “determining” encompasses a wide variety ofactions. For example, “determining” may include calculating, computing,processing, deriving, investigating, looking up (e.g., looking up in atable, a database or another data structure), ascertaining and the like.Additionally, “determining” may include receiving (e.g., receivinginformation), accessing (e.g., accessing data in a memory) and the like.Furthermore, “determining” may include resolving, selecting, choosing,establishing, and the like.

As used herein, a phrase referring to “at least one of” a list of itemsrefers to any combination of those items, including single members. Asan example, “at least one of: a, b, or c” is intended to cover: a, b, c,a-b, a-c, b-c, and a-b-c.

The various illustrative logical blocks, modules and circuits describedin connection with the present disclosure may be implemented orperformed with a processor specially configured to perform the functionsdiscussed in the present disclosure. The processor may be a neuralnetwork processor, a digital signal processor (DSP), an applicationspecific integrated circuit (ASIC), a field programmable gate arraysignal (FPGA) or other programmable logic device (PLD), discrete gate ortransistor logic, discrete hardware components or any combinationthereof designed to perform the functions described herein.Alternatively, the processing system may comprise one or moreneuromorphic processors for implementing the neuron models and models ofneural systems described herein. The processor may be a microprocessor,controller, microcontroller, or state machine specially configured asdescribed herein. A processor may also be implemented as a combinationof computing devices, e.g., a combination of a DSP and a microprocessor,a plurality of microprocessors, one or more microprocessors inconjunction with a DSP core, or such other special configuration, asdescribed herein.

The steps of a method or algorithm described in connection with thepresent disclosure may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in storage or machine readable medium,including random access memory (RAM), read only memory (ROM), flashmemory, erasable programmable read-only memory (EPROM), electricallyerasable programmable read-only memory (EEPROM), registers, a hard disk,a removable disk, a CD-ROM or other optical disk storage, magnetic diskstorage or other magnetic storage devices, or any other medium that canbe used to carry or store desired program code in the form ofinstructions or data structures and that can be accessed by a computer.A software module may comprise a single instruction, or manyinstructions, and may be distributed over several different codesegments, among different programs, and across multiple storage media. Astorage medium may be coupled to a processor such that the processor canread information from, and write information to, the storage medium. Inthe alternative, the storage medium may be integral to the processor.

The methods disclosed herein comprise one or more steps or actions forachieving the described method. The method steps and/or actions may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isspecified, the order and/or use of specific steps and/or actions may bemodified without departing from the scope of the claims.

The functions described may be implemented in hardware, software,firmware, or any combination thereof. If implemented in hardware, anexample hardware configuration may comprise a processing system in adevice. The processing system may be implemented with a busarchitecture. The bus may include any number of interconnecting busesand bridges depending on the specific application of the processingsystem and the overall design constraints. The bus may link togethervarious circuits including a processor, machine-readable media, and abus interface. The bus interface may be used to connect a networkadapter, among other things, to the processing system via the bus. Thenetwork adapter may be used to implement signal processing functions.For certain aspects, a user interface (e.g., keypad, display, mouse,joystick, etc.) may also be connected to the bus. The bus may also linkvarious other circuits such as timing sources, peripherals, voltageregulators, power management circuits, and the like, which are wellknown in the art, and therefore, will not be described any further.

The processor may be responsible for managing the bus and processing,including the execution of software stored on the machine-readablemedia. Software shall be construed to mean instructions, data, or anycombination thereof, whether referred to as software, firmware,middleware, microcode, hardware description language, or otherwise.

In a hardware implementation, the machine-readable media may be part ofthe processing system separate from the processor. However, as thoseskilled in the art will readily appreciate, the machine-readable media,or any portion thereof, may be external to the processing system. By wayof example, the machine-readable media may include a transmission line,a carrier wave modulated by data, and/or a computer product separatefrom the device, all which may be accessed by the processor through thebus interface. Alternatively, or in addition, the machine-readablemedia, or any portion thereof, may be integrated into the processor,such as the case may be with cache and/or specialized register files.Although the various components discussed may be described as having aspecific location, such as a local component, they may also beconfigured in various ways, such as certain components being configuredas part of a distributed computing system.

The machine-readable media may comprise a number of software modules.The software modules may include a transmission module and a receivingmodule. Each software module may reside in a single storage device or bedistributed across multiple storage devices. By way of example, asoftware module may be loaded into RAM from a hard drive when atriggering event occurs. During execution of the software module, theprocessor may load some of the instructions into cache to increaseaccess speed. One or more cache lines may then be loaded into a specialpurpose register file for execution by the processor. When referring tothe functionality of a software module below, it will be understood thatsuch functionality is implemented by the processor when executinginstructions from that software module. Furthermore, it should beappreciated that aspects of the present disclosure result inimprovements to the functioning of the processor, computer, machine, orother system implementing such aspects.

If implemented in software, the functions may be stored or transmittedover as one or more instructions or code on a computer-readable medium.Computer-readable media include both computer storage media andcommunication media including any storage medium that facilitatestransfer of a computer program from one place to another.

Further, it should be appreciated that modules and/or other appropriatemeans for performing the methods and techniques described herein can bedownloaded and/or otherwise obtained by a user terminal and/or basestation as applicable. For example, such a device can be coupled to aserver to facilitate the transfer of means for performing the methodsdescribed herein. Alternatively, various methods described herein can beprovided via storage means, such that a user terminal and/or basestation can obtain the various methods upon coupling or providing thestorage means to the device. Moreover, any other suitable technique forproviding the methods and techniques described herein to a device can beutilized.

It is to be understood that the claims are not limited to the preciseconfiguration and components illustrated above. Various modifications,changes, and variations may be made in the arrangement, operation, anddetails of the methods and apparatus described above without departingfrom the scope of the claims.

What is claimed is:
 1. A method for preventing a collision at a vehicle,comprising: identifying an object within a path of the vehicle;estimating a time of a collision between the object and the vehiclebased on identifying the object; and discharging a substance from one ormore exterior locations of the vehicle prior to the estimated time ofthe collision.
 2. The method of claim 1, wherein the time of thecollision is estimated based on a velocity of the object, a velocity ofthe vehicle, and a current distance between the object and the vehicle.3. The method of claim 2, further comprising determining a velocity ofthe object based on identifying the object.
 4. The method of claim 3,further comprising: determining, at a first time, a first distancebetween the object and the vehicle; and determining, at a second time, asecond distance between the object and the vehicle, wherein the velocityis a function of a difference between the first distance and the seconddistance, a difference between the first time and the second time, and adistance traveled by the vehicle between the first time and the secondtime.
 5. The method of claim 1, wherein the one or more exteriorlocations include one or more of a pillar of a windshield, a locationadjacent to a windshield wiper, a hood, a roof, a door, a trunk, a rearview window, a grill, a bumper, or a window frame.
 6. The method ofclaim 1, wherein the substance is a liquid, a gas, or a solid.
 7. Themethod of claim 1, further comprising identifying the object via one ormore sensors of the vehicle.
 8. The method of claim 1, wherein thesubstance is stored in a storage compartment of the vehicle.
 9. Themethod of claim 1, wherein: each location of the one or more locationscomprises one or more nozzles for discharging the substance; and thesubstance is discharged via one or more respective nozzles at eachlocation of the one or more locations.
 10. The method of claim 1,further comprising generating a notification to be displayed to anoccupant of the vehicle prior to discharging the substance.
 11. Themethod of claim 10, wherein the notification is displayed on one or bothof a display unit integrated with the vehicle or a user equipment (UE)of the occupant.
 12. The method of claim 1, wherein the object is arock.